DOC Skip to main content

Depth Presets for Orbbec Gemini 330 Series 3D Cameras

Update on 2026-11-13 08:57:06

ON THIS PAGE

 

A - Overview

The Orbbec Viewer tool and Orbbec SDK, as well as wrappers (for instance ROS 1 Wrapper, ROS 2 Wrapper, etc.), supports diverse predefined depth presets which should be selected appropriately according to the dedicated use cases and can provide users with more favorable depth performance in comparison to using a universal depth configuration.
The predefined presets are listed in a table below. The table includes major features for each predefined depth preset, along with recommend use cases.

Users of Gemini 330 series cameras can also modify relevant depth settings and save a customized depth preset. All the settings can be selected via the tool's menu of Orbbec Viewer. We use machine learning algorithms and capture of ground truth datasets to optimize presets for certain conditions, and we may add more presets in the future.
The key to obtain a good depth performance is to start from our recommended depth defaults

  • Gemini 335: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 330: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 336: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 335L: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.
  •  Gemini 330L: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default setting
  • Gemini 336L: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 335Lg:1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 335Le: 1280 x 800 @15fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 338Le: 1280 x 800 @15fps, with auto-exposure enabled, post-processing with default settings.
  • Gemini 338Lg: 1280 x 800 @30fps, with auto-exposure enabled, post-processing with default settings.

If you have poor depth performance, please try manual exposure first and adjust exposure value of depth sensor. Keep depth sensor gain value as low as possible (preferably 16) and adjust laser power as necessary.

B - Supported Devices

Gemini 330 series, including Gemini 335, Gemini 330, Gemini 336, Gemini 335L, Gemini 330L, Gemini 336L, Gemini 335Lg and Gemini 335Le.

C - Table of Predefined Presets

Preset

Features

Recommended use cases

Supported Devices

Default

● Best visual perception

● Overall good performance in accuracy, fill rate, tiny objects, etc.

● Generic

● Robotics

Gemini 335/336/330

Gemini 335L/336L/330L

Gemini 335Lg/338Lg

Gemini 335Le/338Le

Hand

● Clear hand and finger edges

● Gesture recognition

Gemini 335/330

Gemini 335L/330L

Gemini 335Lg

High

Accuracy

● Depth of high confidence

● Barely noise depth values

● Lower fill rate

● Collision avoidance

● Object scanning

Gemini 335/336/330

Gemini 35L/336L/330L

Gemini 335Lg/338Lg

Gemini 335Le/338Le

High

Density

● Higher fill rate

● More tiny objects

● May suffer from noise depth values

● Object recognition

● Pick & place

● Foreground & background manipulation

Gemini 335/330

Gemini 335L/330L  

Gemini 335Lg

Medium

Density

● Balanced performance in fill rate and accuracy

● In comparison to Default: lower fill rate, better edge quality

● Generic and alternative to Default

Gemini 335/330

Gemini 335L/330L  

Gemini 335Lg

Custom

● User defined Preset

● Dervied from Presets above, with customized modifications, e.g. a new configuration for the post-processing pipeline, modified mean intensity set point of depth AE function, etc.

● Better depth performance achieved using customized configurations in comparison to using predefined presets

● For well-established custom configurations

Gemini 335/336/330

Gemini 335L/336L/330L

Gemini 335Lg

Gemini 335Le

AMR with IR-Pass

● Reduce the impact of strong light and improve the depth issues caused by high visible light reflection

● Overall good performance in accuracy, fill rate, tiny objects, etc.

● Autonomous Mobile Robot

Gemini 336

Gemini 336L

Optional depth presets

The Gemini 330 series supports optional depth presets. For details on the available depth presets, please refer to 《Depth Preset Release》

D - Example Captures under Diverse Presets

Please refer to the example captures below using the diverse presets. The depth presets are evaluated and compared based on a 3D scene including a variety of object types, materials, textures, reflectivities and distances.

All images were acquired with following settings/conditions:

Ambient fluorescent lighting: 150 - 200 Lux, approximately

 

Depth

RGB

Resolution

1280 x 800

1280 x 720

Frame Rate

30fps

30fps

Auto Exposure

enabled

enabled

D1 - Gemini 335 & 330 & 336

Gemini 335 & 330 & 336 3D Camera

Scene RGB Image

image.png


 

Scene Depth Image

@ Preset:

- Default


image.png

 

● Good fill rate, most objects visible

● Barely noise depth values

● Edges of acceptable quality

● Missing a significant part of the glass bottle

● Merged fingers

Scene Depth Image

@ Preset:

- Hand

image.png

 

● Outstanding edge quality for fingers and squares

● No noise depth value

● Significantly lower fill rate

● Hardly visible glass bottle

Scene Depth Image

@ Preset:

- High Accuracy

image.png

 

● Good edge quality for fingers and squares

● No noise depth value

● Slightly lower fill rate

● Hardly visible glass bottle

Scene Depth Image

@ Preset:

- High Density

image.png

● Clearly visible glass bottle

● Full body of the tripod

● Poor dege quality for fingers

● Few noise depth values

Scene Depth Image

@ Preset:

- Medium Density

image.png

 

● Good fill rate, most objects visible

● Barely noise depth values

● Good edge quality for fingers

● Missing a significant part of the glass bottle

Scene Depth Image

@ Preset:

- AMR with IR-Pass


 

image.png

● Good fill rate, most objects visible

● Barely noise depth values

● Good edge quality for fingers

● Missing a significant part of the glass bottle

D2 - Gemini 335L & 330L & 336L & 335Lg & 335Le

Gemini 335L & 330L & 336L 3D Camera

Scene RGB Image

image.png

Scene Depth Image

@ Preset:

- Default


 

image.png

● Acceptable fill rate, most objects visible

● Barely noise depth values

● Edges of acceptable quality

● Missing a significant part of the glass bottle

● Merged fingers

Scene Depth Image

@ Preset:

- Hand

image.png

 

● Outstanding edge quality for fingers

● No noise depth value

● Significantly lower fill rate

● Hardly visible glass bottle

Scene Depth Image

@ Preset:

- High Accuracy

image.png

 

● Good edge quality for fingers

● No noise depth value

● Slightly lower fill rate

● Hardly visible glass bottle

Scene Depth Image

@ Preset:

- High Density

image.png

 

● Good fill rate, most objects visible

● Few noise depth values

● A significant part of the glass bottle visible

● Poor dege quality for fingers

Scene Depth Image

@ Preset:

- Medium Density

image.png

 

● Good fill rate, most objects visible

● Less noise depth values

● Hardly visible glass bottle

● Good edge quality for fingers

Scene Depth Image

@ Preset:

- AMR with IR-Pass


image.png

 

● Good fill rate, most objects visible

● Less noise depth values

● Hardly visible glass bottle

● Good edge quality for fingers

E - Use Presets

E1 - Orbbec Viewer

Preset

Default

Default => High Accuracy

High Accuracy

Orbbec

Viewer

image.png

 

image.png

 

image.png

 

In the table above, we illustrate how to switch the Depth Preset option from Default to High Accuracy. The drop box for the Depth Preset option is located at tof left of Orbbec Viewer under Device Control settings group. All depth presets available for selection are listed in the drop box and an arbitrary selection is valid if streams are all disabled. A switch between different depth presets while depth or ir streaming will lead to unexpected depth performance. This must be avoided under any conditions.

E2 - Orbbec SDK

E2A - C/C++ APIs

C++ APIs:

// header file: libobsensor\hpp\Device.hpp

/**
 * @brief Get current preset name
 * @brief The preset mean a set of parameters or configurations that can be applied to the device to achieve a specific effect or function.
 * @return const char* return the current preset name, it should be one of the preset names returned by @ref getAvailablePresetList.
 */
const char *getCurrentPresetName();

/**
 * @brief load the preset according to the preset name.
 * @attention After loading the preset, the settings in the preset will set to the device immediately. Therefore, it is recommended to re-read the device
 * settings to update the user program temporarily.
 * @param presetName The preset name to set. The name should be one of the preset names returned by @ref getAvailablePresetList.
 */
void loadPreset(const char *presetName);

C APIs:

// header file: libobsensor\Ddevice.h

/**
 * @breif Get the current preset name.
 * @brief The preset mean a set of parameters or configurations that can be applied to the device to achieve a specific effect or function.
 *
 * @param device The device object.
 * @param error  Log error messages.
 * @return  The current preset name, it should be one of the preset names returned by @ref ob_device_get_available_preset_list.
 */
const char *ob_device_get_current_preset_name(ob_device *device, ob_error **error);

/**
 * @brief Get the available preset list.
 * @attention After loading the preset, the settings in the preset will set to the device immediately. Therefore, it is recommended to re-read the device
 * settings to update the user program temporarily.
 *
 * @param device The device object.
 * @param preset_name  Log error messages. The name should be one of the preset names returned by @ref ob_device_get_available_preset_list.
 * @param error  Log error messages.
 */
void ob_device_load_preset(ob_device *device, const char *preset_name, ob_error **error);

 

E2B - C++ Code Sample:

// Create a Context.
ob::Context ctx;

// Query the list of connected devices
auto devList = ctx.queryDeviceList();

// Create a device, 0 means the index of the first device
auto dev = devList->getDevice(0);

// Get the current preset name
auto devicePreset     = dev->getCurrentPresetName();

// Switch the preset to "High Accuracy"
auto newPreset = "High Accuracy";
dev->loadPreset(newPreset);

E3 - ROS  Wrapper

E3A - ROS 1

To configure the depth preset for Orbbec cameras in ROS 1, update your launch file as demonstrated below. For detailed information about the available depth presets, refer to the Preset Table provided above. It is crucial to avoid switching depth presets online while streaming.

<launch>
    <!-- Additional pre-existing configurations -->

    <!-- Setting the depth preset for the camera -->
    <arg name="device_preset" default="Default"/>

    <!-- Additional subsequent configurations -->
</launch>

E3B - ROS 2

For ROS 2 users, the procedure to set the depth preset involves using the DeclareLaunchArgument function within the launch file. Ensure to select the preset prior to streaming as online switches between depth presets are not recommended.

# Other pre-existing configurations...

# Setting the depth preset for the camera
DeclareLaunchArgument('device_preset', default_value='Default'),

# Additional subsequent configurations...

 

ON THIS PAGE

Add

  • Name:

  • Link Address:

Cancel

Add

  • Name:

  • Link Address:

Cancel
Questions or
Feedback?

Feedback

  • Your feedback matters! Share your thoughts on this page, report errors, or let us know how we can improve to better support your needs. If applicable, please include the specific sentence or section to help us identify and address the issue.